home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / pcl-rev4.lha / cpatch.lisp < prev    next >
Text File  |  1990-02-27  |  754b  |  32 lines

  1. ;;                -[Thu Feb 22 08:38:07 1990 by jkf]-
  2. ;; cpatch.cl
  3. ;;  compiler patch for the fast clos
  4. ;;  
  5. ;; copyright (c) 1990 Franz Inc.
  6. ;;
  7.  
  8. (in-package :comp)
  9.  
  10. (def-quad-op tail-funcall qp-end-block
  11.   ;; u = (argcount function-object)
  12.   ;;
  13.   ;; does a tail call to the function-object given
  14.   ;; never returns
  15.   )
  16.  
  17. (defun-in-runtime sys::copy-function (func))
  18.  
  19. (in-package :hyperion)
  20.  
  21. (def-quad-hyp r-tail-funcall comp::tail-funcall (u d quad)
  22.   ;; u = (argcount function)
  23.   ;;
  24.   (r-move-single-to-loc (treg-loc (car u)) *count-reg*)
  25.   (r-move-single-to-loc (treg-loc (cadr u)) *fcnin-reg*)
  26.   (re restore *zero-reg* *zero-reg*)
  27.   (re move.l `(d #.r-function-start-adj #.*fcnout-reg*) '#.*ctr2-reg*)
  28.   (re jmpl '(d 0 #.*ctr2-reg*) *zero-reg*)
  29.   (re nop))
  30.   
  31.   
  32.